var codeStateArray = ["未绑定","已绑定","已停用","已废弃"];
var codeState = 9;
$(function () {
    // 初始化下拉选框
    $("#Status").combobox({
        onSelect:function(res){
            codeState = res.value;
        }
    });
    initDatagrid();

    $("#queryButton").click(function(){
        var beginTime = $('#beginTime').datetimebox('getValue');
        var endTime = $("#endTime").datetimebox('getValue');
        if(beginTime != "" && endTime == ""){$.messager.alert('提示','未选择结束时间','info');return;}
        if(beginTime == "" && endTime != ""){$.messager.alert('提示','未选择开始时间','info');return;}
        if(beginTime != "" && endTime != ""){
            // 获取时间
            if(beginTime > endTime){
                $.messager.alert('提示','结束时间不能早于开始时间','info');
                return;
            }
            $("#listTable").datagrid('load',{
                id:$("#queryStr").val(),
                makingPerson:$("#queryStr2").val(),
                status:codeState,
                beginTime:beginTime,
                endTime:endTime
            })
        }else{
            $("#listTable").datagrid('load',{
                id:$("#queryStr").val(),
                makingPerson:$("#queryStr2").val(),
                status:codeState
            })
        }
    })
});

// 表格内容初始化
function initDatagrid() {
    var url = $.util.getRequestJson('/json/consumeManage.gatherCodeList.json');
    $('#listTable').datagrid({
        // type=0 即查询 普通公告类型数据
        url: url /*+ '?type=0'*/,
        idField:'id',
        queryParams:{
            status:9
        },
        fit: true,
        pagination: true,
        pageSize: 30,
        checkOnSelect: false,
        selectOnCheck: false,
        singleSelect: true,
        toolbar: '#toolbarButton',
        fitColumns: true,
        columns:[
            [
                {
                    field:"ck",
                    checkbox:"true"
                },{
                    field: 'id',
                    title: '收分码ID',
                    align: 'center',
                    width:15
                },
                {
                    field: 'makingTime',
                    title: '制牌时间',
                    align: 'center',
                    width:15
                },{
                    field: 'makingPerson',
                    title: '制牌人',
                    align: 'center',
                    width:15
                },{
                    // 状态（String）0-未绑定 1-已绑定 2-已停用 3-已废弃
                    field: 'status',
                    title: '状态',
                    align: 'center',
                    width:15,
                    formatter:function (value, row, index) {
                        return codeStateArray[value];
                    }
                },{
                    field:'storeName',
                    title:'商家名称',
                    align: 'center',
                    width:15,
                    formatter:function (value, row, index) {
                        return value == null ? "--":value;
                    }
                },{
                    field: 'context',
                    width:20,
                    title: '操作',
                    align: 'center',
                    formatter: function (value, row) {
                        var aEl = '<a href=javascript:findDetail("{0}"); class="easyui-tooltip" title="查看">查看</a>';
                        // codeState = 1 已绑定
                        if(row.status == 1){
                            aEl += '| <a href=javascript:stopUseThisCode("{0}"); class="easyui-tooltip" title="停用">停用</a>';
                        }
                        if(row.status == 2){
                            aEl += '| <a href=javascript:useThisCode("{0}"); class="easyui-tooltip" title="启用">启用</a>';
                        }
                        //格式化操作按钮
                        return $.string.format(aEl,row.id);
                    }
                }
            ]
        ]
    });
}

// 查看收分码
function findDetail(codeId) {
    var title = '查看收分码';
    var url = $.util.getRootPath() + '/page/operatorManager/code/findCode.html';
    url = codeId ? url + '?id=' + codeId : url;
    var dialog = $.easyui.showDialog({
        title: title,
        width: 350,
        height: 350,
        maximizable: true,
        href: url,
        topMost: true,
        enableSaveButton:false,
        closeButtonText: '关闭'
    });
}

// 生成收分码
function buildCode() {
    $.messager.prompt('生成收分码', '请输入要生成收分码的数量：', function(r){
        if (r){
            if(Number.isNumber(r)){
                if(r > 100){
                    $.messager.alert('每次操作最多生成100个收分码');
                }else{
                    $.util.get($.util.getRequestJson('/consumeManage/saveGatherCode'),{signNum:r},function(data){
                        $.messager.alert(data.message);
                        $("#listTable").datagrid('reload');
                    });
                }
            }else{
                $.messager.alert('填写的制牌数量不是数字');
            }
        }
    });
}

// 批量停用收分码
function stopUseCode() {
    if(codeState!= 1) {
        $.messager.alert('提示', '仅已绑定状态的收分码能够进行停用操作');
    }else{
        // 停用订单操作
        var checkeds = $("#listTable").datagrid('getChecked');
        if(checkeds.length == 0){
            $.messager.alert('提示','未选择要停用的收分码项');
            return ;
        }
        var ids = "";
        for(var i = 0; i < checkeds.length;i++){
            if(i == checkeds.length-1){
                ids += checkeds[i].id;
            }else{
                ids += checkeds[i].id + "_";
            }
        }
        $.messager.confirm('停用收分码','已选择<b>'+checkeds.length+'</b>个收分码，是否确定停用这些商户收分码？',function (r) {
            if(r){
                $.messager.alert('完成批量停用收分码操作');
                $("#listTable").datagrid('clearChecked');
                $.util.get($.util.getRequestJson('/consumeManage/updateCode'),{codeId:ids},function(data){
                    $("#listTable").datagrid('reload');
                });
                $("#listTable").datagrid('reload');
            }
        })
    }
}

// 停用收分码
function stopUseThisCode(codeId) {
    $.messager.confirm('停用收分码','确定要停用此收分码？',function (r) {
        if(r){
            $.messager.alert('完成停用收分码操作');
            $("#listTable").datagrid('clearChecked');
            $.util.get($.util.getRequestJson('/consumeManage/updateCode'),{codeId:codeId},function(data){
                $("#listTable").datagrid('reload');
            });
            $("#listTable").datagrid('reload');
        }
    })
}

function useThisCode(codeId) {
    $.messager.confirm('启用收分码','确定要启用此收分码？',function (r) {
        if(r){
            $.messager.alert('完成启用收分码操作');
            $("#listTable").datagrid('clearChecked');
            $.util.get($.util.getRequestJson('/consumeManage/useCode'),{codeId:codeId},function(data){
                $("#listTable").datagrid('reload');
            });
            $("#listTable").datagrid('reload');
        }
    })
}